import { defineStore } from 'pinia'
// 使用 defineStore 定义一个 Store 仓库
export const useCounterStore = defineStore('laoyu', {
    // 这里的laoyu是仓库的名称，这个名称是唯一的，不能重复。唯一的id。
    // 这个函数会在 Store 初始化的时候被调用，返回的对象会被赋值给 Store 的 state 属性。
    // 这个函数可以是异步的，也可以是同步的。
    // 类似于组件的 data 选项，但是这里的 state 是一个函数，返回一个对象，这个对象就是 Store 的状态。
    state: ()=> ({
        count: 0,
        name: '大威天龙'
    }),

    getters: {
        doubleCount: (state)=> state.count * 2, // 计算属性，类似于组件的 computed 选项，但是这里的 getters 是一个对象，每个属性都是一个函数，返回一个值。
    },

    actions:{
        increment(){
            this.count++
        },
        decrement(){
            this.count--
        },
        setName(newName){
            this.name = newName
        }
    }
})